package com.solming.leetcode.question;

//这里有n个航班，它们分别从 1 到 n 进行编号。
//
//有一份航班预订表bookings ，表中第i条预订记录bookings[i] = [firsti, lasti, seatsi]意味着在从 firsti到 lasti （包含 firsti 和 lasti ）的 每个航班 上预订了 seatsi个座位。
//
//请你返回一个长度为 n 的数组answer，其中 answer[i] 是航班 i 上预订的座位总数。
//
//
//
//来源：力扣（LeetCode）
//链接：https://leetcode-cn.com/problems/corporate-flight-bookings
public class CorpFlightBookings1109 {


    public static int[] corpFlightBookings(int[][] bookings, int n) {

        int[] answer = new int[n];
        int len = bookings.length;
        for (int i = 0; i < len; i++) {
            int start = bookings[i][0];
            int end = bookings[i][1];
            int seat = bookings[i][2];
            answer[start - 1] += seat;
            if (end < n) {
                answer[end] -= seat;
            }
        }
        for (int i = 1; i < n; i++) {
            answer[i] += answer[i - 1];
        }
        return answer;

    }

    public static void main(String[] args) {
        int[][] arr = new int[][]{{1, 2, 10}, {2, 3, 20}, {2, 5, 25}};
        int[] answer = corpFlightBookings(arr, 5);
        System.out.println(answer);
    }
}
